Option Explicit
Sub F_Sample041()
   'Microsoft DAO 3.6 Object Library ]wޥζ
   'ոF_Data.mdb
    Dim myDb  As DAO.Database
    Dim myQry As DAO.QueryDef
    Dim myPrp As DAO.Property
    Dim mySht As Worksheet
    Dim i     As Long
    Dim j     As Long
    Dim myFileName    As String
    myFileName = "F_Data.mdb"           'wɮצW
    Set myDb = OpenDatabase(ThisWorkbook.Path & "\" & myFileName)
    Worksheets.Add                  'u@sW
    'DCw
    Cells(1, 1).Resize(, 4).Value = _
        Array("QRY_NAME", "PRP_NAME", "TYP", "VALUE")
    i = 2
    For Each myQry In myDb.QueryDefs
        With myQry
          Cells(i, 1).Resize(, 3).Value = _
              Array(.Name, "", GetQryConstStr_DAO(.Type))
        End With
        i = i + 1
        j = 1
        For Each myPrp In myQry.Properties
            With myPrp
                If .Name <> "SQL" Then
                    Cells(i, 1).Resize(, 3).Value = _
                        Array(j, .Name, GetConstStr_DAO(.Type))
                    On Error Resume Next
                    Cells(i, 4).Value = .Value
                    On Error GoTo 0
                    i = i + 1: j = j + 1
                End If
            End With
        Next myPrp
        i = i + 1
    Next myQry
    Columns("A:D").AutoFit              'e۰ʽվ
    myDb.Close
    Set myPrp = Nothing                 '
    Set myQry = Nothing
    Set myDb = Nothing
    Set mySht = Nothing
End Sub
Function GetQryConstStr_DAO(myInt As Integer) As String
    Dim myStr As String
    Select Case myInt
        Case 0: myStr = "dbQSelect"
        Case 224: myStr = "dbQProcedure"
        Case 240: myStr = "dbQAction"
        Case 16: myStr = "dbQCrosstab"
        Case 32: myStr = "dbQDelete"
        Case 48: myStr = "dbQUpdate"
        Case 64: myStr = "dbQAppend"
        Case 80: myStr = "dbQMakeTable"
        Case 96: myStr = "dbQDDL"
        Case 112: myStr = "dbQSQLPassThrough"
        Case 128: myStr = "dbQSetOperation"
        Case 144: myStr = "dbQSPTBulk"
        Case 160: myStr = "dbQCompound"
        Case Else: myStr = ""
    End Select
    GetQryConstStr_DAO = myStr
End Function
Function GetConstStr_DAO(myInt As Integer) As String
    Dim myStr As String
    Select Case myInt
        Case 1: myStr = "dbBoolean"
        Case 2: myStr = "dbByte"
        Case 3: myStr = "dbInteger"
        Case 4: myStr = "dbLong"
        Case 5: myStr = "dbCurrency"
        Case 6: myStr = "dbSingle"
        Case 7: myStr = "dbDouble"
        Case 8: myStr = "dbDate"
        Case 9: myStr = "dbBinary"
        Case 10: myStr = "dbText"
        Case 11: myStr = "dbLongBinary"
        Case 12: myStr = "dbMemo"
        Case 15: myStr = "dbGUID"
        Case 16: myStr = "dbBigInt"
        Case 17: myStr = "dbVarBinary"
        Case 18: myStr = "dbChar"
        Case 19: myStr = "dbNumeric"
        Case 20: myStr = "dbDecimal"
        Case 21: myStr = "dbFloat"
        Case 22: myStr = "dbTime"
        Case 23: myStr = "dbTimeStamp"
        Case Else: myStr = ""
    End Select
    GetConstStr_DAO = myStr
End Function

